E-commerce has become a major driving factor in the new economy. To be successful in the long-term, e-commerce will require many companies to engage in cross-enterprise collaborations. To achieve cross-enterprise integration, a company must first integrate its internal applications. Using existing technology and tools, application integration can be an expensive proposition. No integration solution exists that is easy to use, affordable, and based on industry standards. Neither does a solution exist that is based on an industry standard infrastructure, has universal connectivity, is capable of massive scalability, and has accessible business process tools.
Application integration to this point has been very inward-focused. Many existing integration systems have not focused on integrating applications between enterprises. Even when integration solutions were used for cross-enterprise integration, the solutions were still narrowly focused and aimed at vertical markets. This inward focus did little to help companies field external business-to-consumer and business-to-business applications, such as applications that can utilize the Internet to generate revenue and reduce costs. The requirement for Internet-enabled applications led to the rise of the application server market. To date, application servers have primarily been used to host external applications targeted at customers and partners. Application servers are themselves packaged applications that, instead of solving a specific problem, are general-purpose platforms that host vertical solutions.
The first attempts at application integration were primarily focused on low-level implementation details such as the format of the data, the byte ordering between machines, and character encoding. The focus on low-level data formats was necessary because, for the first generation of application integration solutions, there were no widely adopted standards for data encoding that could be deployed across multiple vertical applications.
The traditional approach involved connecting individual systems to, in effect, hardwire the systems together. This approach can be complex, as connecting different systems can require an intimate, low-level knowledge of the proprietary technologies of multiple systems. To remove this complexity, businesses began developing and using adapters.
Adapters are software components that applications can use to programmatically access enterprise data. For example, an adapter can use a Java class to represent enterprise data, and can provide methods that applications can invoke to access the data. When an application invokes an access method, the adapter can execute the method to retrieve the enterprise data.
These integration systems, however, suffer from a lack of standards. Each integration vendor typically provides a proprietary solution for application adapters, message transformation, message formats, message transport, and routing. Not one of these systems to date has achieved significant market share to enable its technologies to become the de-facto standard. This lack of standards has given packaged application vendors little incentive to create adapters to their applications. Further, each of these integration servers has its own proprietary API for constructing adapters, so packaged application vendors cannot leverage the development of an adapter beyond a single integration server. This fragmentation of the integration market has provided little financial incentive for third parties to build adapters.
Application views were developed as a solution to this problem. An application view provides a layer of abstraction between an adapter and Enterprise Information System (EIS) functions exposed by that adapter. Instead of accessing an EIS by directly programming the EIS, a user can simply edit the application views for the adapter, create new application views, or delete obsolete application views. This layer of abstraction, formed by application views, makes it easy for non-programmers to maintain the services and events exposed by the adapter. Each application view is adapter-specific, and defines a set of business functions on the adapter's EIS. Such application views provide a view of the application capabilities exposed by an adapter. Presently, there is no analogous functionality for users of tools such as Cajun, a Java 2 Enterprise Edition (J2EE)-based Web services development framework available from BEA Systems Inc. of San Jose, Calif., that can allow tool developers to easily interact with information systems.